//对axios进行二次封装(给axios设置拦截器)
//每次发送请求,都可能需要携带请求头参数(token),这时可以再请求拦截器中集中处理
//每次发请求后,都可能需要处理响应状态码,这时可以再响应拦截器中处理

import axios from 'axios'

//1.实例化axios对象
var service =axios.create({
    timeout:10*100,
    baseURL:'',
})

//2.设置请求拦截器
service.interceptors.request.use(
    (config)=>{
        config.headers['Authorzation']='Bearer'+' '+localStorage.getItem('token')
        return config
    },
    (error)=>{
        return Promise.reject(error)
    }
)

//3.设置响应拦截器
service.interceptors.response.use(
    (res)=>{
        return res
    },
    (error)=>{
        if(error.response.status==401){
            alert('登录过期,请重新登录!')
        }
        else if( error.response.status == 404 ){
            alert('访问路径有误!')
        }
        else if( error.response.status == 500 ){
            alert('服务器内部错误!')
        }
        
        return Promise.reject(error);
    }

)
//3.导出service
export default service